# 云胡的编程周报第 001 期
时间:2023/8/14 - 2023/8/20
# 一、点滴记录
数据插入到表的时候一定要判断数据重复问题。
对接口的方法进行实现或者对父类方法进行重写时都要加上
@Override来在编译时检查参数或者函数名有没有写错。实体类的日期类型不要用
Date,用LocalDateTime,Date是可变类,线程不安全,LocalDateTime线程安全。可以在实体类的日期类型上加上
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")来自定义日期的格式。一个完整的实体类日期数据:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime;1
2使用
validation对dto参数进行校验,常用注解有:@NotNull被约束的元素不能为null,常用来约束Integer和Long类型。@NotEmpty验证字符串、集合、字典或数组是否为null或者空,常用来约束String和List类型。@Min(0)约束最小值@Max(99)约束最大值@Size约束长度。@Size(min = 15, max = 18, message = "身份证必须在 15 位到 18 位之间") @ApiModelProperty(value = "身份证号") private String identityCard;1
2
3@Valid校验嵌套对象。这边需要对
ProductInfo的数据进行校验必须加上@Valid,如果不加,只是在ProductInfo实体类中对数据进行校验,那么检验不会生效。@Valid @ApiModelProperty(value = "商品信息对象") List<ProductInfo> productInfoList;1
2
3@Data public class ProductInfo { @Min(0) @NotNull(message = "商品 id 不能为空") @ApiModelProperty(value = "商品 id ") private Long productId; @Min(0) @Max(100) @NotNull(message = "商品佣金比例不能为空") @ApiModelProperty(value = "商品佣金比例") private Integer productCommissionRate; }1
2
3
4
5
6
7
8
9
10
11
12
13
Linux Shell:- 复制:
ctrl + insert - 粘贴:
shift + insert
- 复制:
Vim的复制粘贴Vim默认模式:yy复制光标所在的那一行,p进行粘贴。Vim可视模式:在普通模式下按入v,进入可视模式。然后多选行,y复制多行,p进行粘贴。
本地与
Linux服务器的文件传输:安装
lrzsz- 安装命令:
sudo apt-get install lrzsz
使用:
- 本地上传文件到服务器:
rz,然后选择本地文件即可。 - 服务器文件下载到本地:
sz filePath,filePath是服务器的文件路径。
- 安装命令:
使用
Mybatis Plus的QueryWrapper查询比较时,用lambda(),这时候用.eq()的第一个参数就可以用实体getColumnName的方式,避免硬编码。- 不规范的查询
@Override public SysUserEntity getSysUserEntity(String username) { QueryWrapper<SysUserEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("username", username); // "username" 硬编码,不规范,而且容易写错 return sysUserMapper.selectOne(queryWrapper); }1
2
3
4
5
6- 规范的查询,推荐
@Override public SysUserEntity getSysUserEntity(String username) { QueryWrapper<SysUserEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.lambda() .eq(SysUserEntity::getUsername, username); return sysUserMapper.selectOne(queryWrapper); }1
2
3
4
5
6
7
8
9服务器的
nginx默认路径在/etc/nginx,配置文件在这个路径下的nginx.conf,在进行前后端分离项目时,如果不是放在默认80端口,需要在这里配置自定义端口与vue生成的dist文件的关联。Linux可以用unzip解压zip文件。安装
unzip- 安装命令:
sudo apt install unzip
使用
unzip:- 解压到当前目录:
unzip xxx.zip - 解压到指定目录:
unzip -o xxx.zip -d tmp/,tmp/是一个举例的路径,可以换成其他路径。
- 安装命令:
# 二、后记
编程世界博大精深,每天都能感受到技术的薄弱,感觉自己浑身全是破绽,因此打算多记录,用自己的话写下来,毕竟老话说得好,好记性不如烂笔头。
这是编程周报的第一期,今年开始决定把主要精力放在工作和学习技术上,希望自己能坚持下来。
加油。